﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using ENT.GP.Core.Proyecto;
using Subgurim.Controles;
using System.Data;
using ENT.GP.Core.Core;
using entgp.Code;

public partial class Georeferencial_UbicacionMapa : PaginasUsuario
{
    protected void Page_Load(object sender, EventArgs e)
    {
        int IdP=0;
        if (!IsPostBack)
        {
            try
            {
                int.TryParse(Page.Request.QueryString.Get("IdP"), out IdP);
                Proyecto proy = Proyecto.GetProyecto(IdP);
                GMap1.addGMapUI(new GMapUI());
                GMap1.enableGKeyboardHandler = true;

                
                GLatLng latlong = new GLatLng( proy.Latitud, proy.Longitud);
                GMapType.GTypes maptype = GMapType.GTypes.Hybrid;
                GMap1.setCenter(latlong, 9, maptype);
                GMarker icono = new GMarker(latlong);

                GInfoWindowTabs InfoTabs = new GInfoWindowTabs();
                InfoTabs.point = latlong;
                InfoTabs.gMarker = icono;
                System.Collections.Generic.List<GInfoWindowTab> tabs = new System.Collections.Generic.List<GInfoWindowTab>();
                tabs.Add(new GInfoWindowTab("Descripción",proy.DescripcionAdicional));
                tabs.Add(new GInfoWindowTab("Costo",proy.CostoTotal.ToString()));
                tabs.Add(new GInfoWindowTab("Población Afectada", FormarHtmlPA(proy.PoblacionAfectada,proy.NumeroHabitantes  )));
                tabs.Add(new GInfoWindowTab("Imagenes", ConstruirHtmlImagenes(proy.IDProyecto)));
                tabs.Add(new GInfoWindowTab("Videos", ConstruirHtmlVideos(proy.IDProyecto)));
                InfoTabs.tabs = tabs;
                GMap1.addInfoWindowTabs(InfoTabs);

                GMap1.addControl(new GControl(GControl.extraBuilt.MarkCenter));
            }
            catch (Exception)
            {

            }
            
        }
    }
    string FormarHtmlPA(int idPA, double numeroHabitantes)
    {
        string PA="",res="";
        switch (idPA)
        {
            case 605:
                PA = "Urbano";
                break;
            case 606:
                PA="Urbano Marginal";
                break;
            case 607:
                PA="Rural";
                break;
        }

        res = string.Format("<div style=\"font-family:Tahoma, Geneva, sans-serif;\"><p>La poblaci&oacute;n afectada es: <font style=\"font-weight:bold;\">{0}</font></p><p>El n&uacute;mero de habitantes beneficiados es de: <font style=\"font-weight:bold;\">{1}</font></p></div>",PA,Convert.ToInt32( numeroHabitantes));
        return res;
    }
    string ConstruirHtmlVideos(int id)
    {
        var consulta = string.Format("SELECT  entpm_proyecto_documento.NOMBRE, entpm_proyecto_documento.TIPODOCUMENTO, entpm_empresa.NOMBRE AS EMPRESA, entpm_empresa.CODIGO, entpm_proyecto_documento.IDPROYECTO, entpm_empresa.IDEMPRESA FROM   entpm_proyecto   INNER JOIN entpm_empresa ON (entpm_proyecto.IDEMPRESA = entpm_empresa.IDEMPRESA)   INNER JOIN entpm_proyecto_documento ON (entpm_proyecto.IDPROYECTO = entpm_proyecto_documento.IDPROYECTO) WHERE  entpm_proyecto_documento.IDPROYECTO = {0} AND entpm_proyecto_documento.TIPO = 5  AND lower( entpm_proyecto_documento.TIPOARCHIVO) like 'video%'", id);
        var datos           = Util.EjecutarConsulta(consulta);
        int conEnd          = datos.Tables[0].Rows.Count;
        string resultado    = "";
        string ruta         = "";
        foreach (DataRow dato in datos.Tables[0].Rows)
        {
            ruta = string.Format("{0}{1}", UtilP.RUTA_ARCHIVOS, dato[0]);
            resultado += "<object id=\"MediaPlayer\" width=320 height=286 classid=\"CLSID:22D6f312-B0F6-11D0-94AB-0080C74C7E95\" standby=\"Loading Windows Media Player components...\" type=\"application/x-oleobject\" codebase=\"http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,7,1112\">";
            resultado += string.Format("<param name=\"filename\" value=\"{0}\">", ruta);
            resultado += "<param name=\"Showcontrols\" value=\"True\">";
            resultado += "<param name=\"autoStart\" value=\"True\">";
            resultado += "<param name=\"wmode\" value=\"transparent\">";
            resultado += string.Format("<embed type=\"application/x-mplayer2\" src=\"{0}\" name=\"MediaPlayer\" autoStart=\"True\" wmode=\"transparent\" width=\"320\" height=\"286\" ></embed>", ruta); 
            resultado += "</object>";

        }
        return resultado;
    }
    string ConstruirHtmlImagenes(int id)
    {
        var consulta = string.Format("SELECT  entpm_proyecto_documento.NOMBRE, entpm_proyecto_documento.TIPODOCUMENTO, entpm_empresa.NOMBRE AS EMPRESA, entpm_empresa.CODIGO, entpm_proyecto_documento.IDPROYECTO, entpm_empresa.IDEMPRESA FROM   entpm_proyecto   INNER JOIN entpm_empresa ON (entpm_proyecto.IDEMPRESA = entpm_empresa.IDEMPRESA)   INNER JOIN entpm_proyecto_documento ON (entpm_proyecto.IDPROYECTO = entpm_proyecto_documento.IDPROYECTO) WHERE  entpm_proyecto_documento.IDPROYECTO = {0} AND entpm_proyecto_documento.TIPO = 5 AND lower(  entpm_proyecto_documento.TIPOARCHIVO) like 'image%'", id);
        var datos        = Util.EjecutarConsulta(consulta);
        int conEnd       =  datos.Tables[0].Rows.Count;
        int    con       = 0;
        string ruta      = "";
      
        string resultado = "";
        string sclass    = "";
     
    
    
        resultado += "<div class=\"carrusel\" id=\"divcarrusel\"> ";
        resultado += "<center>";
        resultado += "<div class=\"listBtns\">";
        resultado += "		<span  id=\"prevBtn\"><a class=\"a_imagen1\"  href=\"javascript:toRight('imagen1')\">&#60;</a></span> ";
        resultado += "		<span id=\"nextBtn\"><a class=\"a_imagen1\"  href=\"javascript:toLeft('imagen1')\">&#62;</a></span> ";
        resultado += "</div>";
        resultado += "</center>";
        resultado += "	<center>";
		
      
        con = 1;
     
        foreach (DataRow dato in datos.Tables[0].Rows)
        {
            if (dato[1].ToString() == ".png;base64")
            {
                ruta = dato[0].ToString();
            }
            else
            {
                ruta = string.Format("{0}resources/empresas/{1}/resources/images/{2}", UtilP.RUTA_HOME, dato[3], dato[0]);
            }
                //ruta = string.Format("{0}{1}", UtilP.RUTA_ARCHIVOS, dato[0]);
            if (con == 1) 
            {
                sclass = "display: block;";
               
                       
            }
            else 
            {
                sclass = "display: none;";
                      
            }
            resultado += string.Format("<img id=\"imagen{0}\" src=\"{1}\" style=\"" + sclass + "\" />", con.ToString(), ruta);
            con += 1;
        }
        resultado += "</center>";
     
        resultado += "</div>";
      
       return resultado;
    }
}

           